package br.com.medical.shop.negocio.administrativo;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

@SequenceGenerator(name = "usuario_id_seq", sequenceName = "usuario_id_seq", initialValue = 1, allocationSize = 3)
@Entity
@Table(name = "tb_usuario", uniqueConstraints = { @UniqueConstraint(columnNames = { "no_login","no_email" }) })
public class Usuario {
	
	@Column(name = "co_usuario", unique = false)
	private long id;
	
	@Column(name = "no_apelido", unique = false)
	private String apelido;
	
	
	@Column(name = "no_login", unique = false)
	private String username;
	
	@Column(name = "ds_senha")
	private String senha;
	
	@Column(name="ds_email")
	private String email;
	
	@Column(name = "no_usuario")
	private String nome;

	@Column(name = "nu_cpf")
	private String cpf;
	
	@Temporal(TemporalType.DATE)
	@Column(name = "dt_nascimento")
	private Date dataNascimento;
	
	@Column(name = "nu_tentativas_login")
	private int tentativasLogin;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public Date getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}

	public int getTentativasLogin() {
		return tentativasLogin;
	}

	public void setTentativasLogin(int tentativasLogin) {
		this.tentativasLogin = tentativasLogin;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getApelido() {
		return apelido;
	}

	public void setApelido(String apelido) {
		this.apelido = apelido;
	}
}
